package com.youxin.foundation.utils.timer;

import java.sql.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 * 定时运行
 * @author yingde.cao
 *
 */
public class TimerSchedule {
//	/**
//	 * 定时执行,只执行一次
//	 * @param delay
//	 * @param taskProvider
//	 * @return Timer
//	 */
//	public static Timer schedule(long delay,TimerTaskProvider taskProvider)
//	{
//		Timer timer = new Timer();
//        timer.schedule(new TimerTask() {
//        	@Override
//            public void run() {
//               taskProvider.task();
//            }
//          }, delay);
//        return timer;
//
//	}
//	
//	/**
//	 * 定时任务
//	 * @param delay 延迟时间运行
//	 * @param period  周期性运行时间
//	 * @param taskProvider 定时接口方法
//	 * @return Timer
//	 */
//	public static Timer schedule(long delay,long period,TimerTaskProvider taskProvider)
//	{
//		Timer timer = new Timer();
//        timer.schedule(new TimerTask() {
//        	@Override
//            public void run() {
//               taskProvider.task();
//            }
//          }, delay,period);
//        return timer;
//	}
//	/**
//	 * 定时执行,固定时间,不会因为任务没有执行完延迟
//	 * @param delay 延迟时间运行
//	 * @param period 周期性运行时间
//	 * @param taskProvider 定时接口方法
//	 * @return Timer
//	 */
//	public static Timer scheduleAtFixedRate(long delay,long period,TimerTaskProvider taskProvider)
//	{
//		Timer timer = new Timer();
//        timer.scheduleAtFixedRate(new TimerTask() {
//        	@Override
//            public void run() {
//               taskProvider.task();
//            }
//          }, delay,period);
//        return timer;
//	}	
//	/**
//	 * 定时执行
//	 * @param date 起始时间
//	 * @param period 周期性运行时间
//	 * @param taskProvider 定时接口方法
//	 * @return Timer
//	 */
//	public static Timer scheduleAtFixedRate(Date date,long period,TimerTaskProvider taskProvider)
//	{
//		Timer timer = new Timer();
//        timer.scheduleAtFixedRate(new TimerTask() {
//        	@Override
//            public void run() {
//               taskProvider.task();
//            }
//          }, date,period);
//        return timer;
//	}	
	
}
